package array

// 读清楚题目，a<b<c<d，指的是索引，因此不可以排序
func countQuadruplets(nums []int) int {
	cnt := map[int]int{}

	ans := 0

	for c := len(nums) - 2; c >= 2; c-- {
		cnt[nums[c+1]]++
		for a, x := range nums[:c] {
			for _, y := range nums[a+1 : c] {
				if sum := x + y + nums[c]; cnt[sum] > 0 {
					ans += cnt[sum]
				}
			}
		}
	}

	return ans

}
